Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Re-implementing and optimizing core analysis algorithms in Rust #30

Draft
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

arkrow
Copy link
Owner

@arkrow arkrow commented Feb 16, 2024

  • Adds the necessary infrastructure for a mixed python/rust project using maturin and pyo3 bindings
  • Initial performance speed-up without concurrency: ~6x

Since this is my first experience with a mixed python/rust project and rust programming in general, this branch is considered highly experimental, with an unstable API and logic that is subject to change.

Feedback is welcome and much appreciated.

@arkrow arkrow force-pushed the master branch 3 times, most recently from d5986ce to 006c564 Compare March 21, 2024 21:05
@Sewer56
Copy link

Sewer56 commented Aug 8, 2024

This is quite a cool start.

I'm always busy writing my own mod tools for other people; so I unfortunately never get to use this stuff; but I always wanted to see a native version of this. Letting someone just drop a music file, finding the loop points and making a very quick conversion into a game's native music format is a very cool use case.

- Adds the necessary infrastructure for a mixed python/rust project using maturin and pyo3 bindings
- Initial performance speed-up without concurrency: ~6x
@arkrow
Copy link
Owner Author

arkrow commented Aug 8, 2024

Thanks for the vote of confidence @Sewer56. A GUI may be come sooner than later since it has been planned for a while. Unfortunately, supporting game native music formats and conversion is too big of a scope to handle as the only maintainer, but that said, contributions are always welcome!

Part of the reason I wanted to move the essential logic to a rust crate for a while is to ultimately create a foobar2000 plugin. It'd be a properly seamless experience then, as an alternative to the single track repeat within a rich music player ecosystem. It's still very far off and I'm not sure if it's feasible, but ultimately the tool shouldn't be constrained to a single file in a CLI. In fact, there is technically nothing stopping the ability to loop or mix different tracks altogether, which would be, personally speaking, a very interesting direction for the project to take.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants